package model

import (
	"gluenet/internal/glue-srvm/pkg/gluehttp"
	"time"
)

// MeteringRechargeOrder 订单表
type MeteringRechargeOrder struct {
	Id                  uint64     `gorm:"primary_key" json:"id"`
	UserName            string     `gorm:"column:user_name" json:"user_name"`                       //用户名
	Amount              float64    `gorm:"column:amount" json:"amount"`                             //充值金额
	ItemName            string     `gorm:"column:item_name" json:"item_name"`                       //商品名称
	MerchantName        string     `gorm:"column:merchant_name" json:"merchant_name"`               //商户名称
	Acquirer            string     `gorm:"column:acquirer" json:"acquirer"`                         //收单机构
	ClearingInstitution string     `gorm:"column:clearing_institution" json:"clearing_institution"` //清算机构
	PaymentMethod       int        `gorm:"column:payment_method" json:"payment_method"`             //支付方式
	TransactionNum      string     `gorm:"column:transaction_num" json:"transaction_num"`           //交易号
	PaymentStatus       int        `gorm:"column:payment_status" json:"payment_status"`             //支付状态
	CreatedAt           time.Time  `gorm:"column:created_at" json:"created_at"`                     //创建时间
	UpdatedAt           time.Time  `gorm:"column:updated_at" json:"updated_at"`                     //更新时间
	DeletedAt           *time.Time `gorm:"column:deleted_at" json:"deleted_at"`                     //删除时间
}

func (r MeteringRechargeOrder) TableName() string {
	return "metering_recharge_order"
}

type RechargeOrderReq struct {
	gluehttp.PageRequest
	Id                  uint64     `gorm:"primary_key" json:"id"`
	UserName            string     `gorm:"column:user_name" json:"user_name"`                       //用户名
	Amount              float64    `gorm:"column:amount" json:"amount"`                             //充值金额
	ItemName            string     `gorm:"column:item_name" json:"item_name"`                       //商品名称
	MerchantName        string     `gorm:"column:merchant_name" json:"merchant_name"`               //商户名称
	Acquirer            string     `gorm:"column:acquirer" json:"acquirer"`                         //收单机构
	ClearingInstitution string     `gorm:"column:clearing_institution" json:"clearing_institution"` //清算机构
	PaymentMethod       int        `gorm:"column:payment_method" json:"payment_method"`             //支付方式
	TransactionNum      string     `gorm:"column:transaction_num" json:"transaction_num"`           //交易号
	PaymentStatus       int        `gorm:"column:payment_status" json:"payment_status"`             //支付状态
	CreatedAt           time.Time  `gorm:"column:created_at" json:"created_at"`                     //创建时间
	UpdatedAt           time.Time  `gorm:"column:updated_at" json:"updated_at"`                     //更新时间
	DeletedAt           *time.Time `gorm:"column:deleted_at" json:"deleted_at"`                     //删除时间
}
